The present disclosure relates generally to backing up the data of mobile client device to a backup server, specifically to backing up the data of the mobile client device in a manner that requires performance of minimal tasks on the part of the backup server.
Data stored in a mobile client device is backed up in a backup device either to restore the mobile client device to an operational state after a disaster or to restore some files or data that were accidentally deleted or became corrupt. During a backup operation, the backup data of the mobile client device is sent to a backup device (e.g., a backup server) for its safe storage. The backup data can later be retrieved during a restore operation to restore the mobile client device to the previous state where the backup data was created or to replace the corrupted data or supplant the deleted data.
The backup operation is particularly important in the mobile client devices because mobile client devices are more vulnerable to loss of data compared to stationary client devices. For example, mobile client devices can experience depletion of power source which may wipe out the data stored in volatile memory of the mobile client device. Also, the mobile client device may be inadvertently mishandled or become lost, resulting in corruption or loss of the data stored in the mobile client device. If the data is lost or corrupted, the user needs to restore the backup data to the mobile client device in order to resume his use of the mobile client device from the state before the data corruption or loss. Alternatively, the data may be restored to a replacement mobile client device that replaces a previous mobile client device for reasons such as losing the previous mobile client device, damages to the previous mobile device, or an upgrade from the previous mobile client device.
The backup operation is generally performed by storing the backup data in a backup server physically separate from a client device. The backup data may then be retrieved from the backup server during the restore operation to restore the data of the client device. Conventionally, the backup server performs various tasks associated with backing up and restoring the data of the mobile client device including, among other tasks, identifying the data to be backed up, comparing the backup data received from the client device, encrypting the backup data, performing deduplication to remove any redundancy in the backup data, authenticating the client device, decrypting the backup data, and sending the backup data to the client device.
Requiring the backup server to perform various tasks associated with the backup and restore operation is disadvantageous for at least the following reasons. The backup server must be capable of storing and running backup programs related to the backup and restore operation. If various types of backup servers are used, the backup program must be deployed on each backup server. This may result in waste of the backup server resource, especially if the backup server interacts with multiple types of mobile client devices requiring different backup programs.
Further, the backup data stored in the backup server is vulnerable to unauthorized access by a third party because the backup program for encrypting or decrypting the backup data is running on the backup server. The third party making unauthorized access to the backup data may take advantage of the backup program stored in the backup server to decrypt the backup data. Therefore, storing the backup program and the backup data on the same backup server is vulnerable to unauthorized access.
Another type of backup devices often used is flash memory cards such as Secure Digital (SD) card or memory stick. These flash memory cards are generally inserted into the slots integrated with the mobile client device and stores various data, including the backup data. The disadvantage of using the flash memory cards is that the mobile client device must dedicate already scarce real estate of the mobile client device to the slots. Also, the types of flash memory cards that can be used are limited to the type of card slots implemented on the mobile client device. Another disadvantage of using the flash memory cards is that their cost per unit memory size is much expensive than the backup servers. Moreover, the flash memory cards must be manually inserted into the mobile client device before performing the backup operation, which is inconvenient to the user. The reliability of using the flash memory cards is also questionable because the flash memory cards can be easily lost, stolen, or damaged after being removed from the mobile client device.
Therefore, among other deficiencies, the present art lacks backup architecture and methods that allow more generic network storage devices to be used as backup server. The present art also lacks backup architecture and methods that enhance the security of the backup data stored in the backup server.